Network-based services exist that allow customers to purchase and utilize virtual computing resources, such as virtual machine instances on a permanent or as-needed basis. In addition to virtual machine instances, these services typically allow customers to purchase and utilize other types of computing resources for use with the virtual machine instances. For example, customers may be permitted to purchase and utilize virtual data storage, virtual networking resources, and other types of virtual resources.
The use of third-party network-based services may be convenient for many customers wishing to avoid the work and expense of establishing and maintaining similar services. For example, some network-based services may utilize dozens of data centers around the world, hundreds of thousands or even millions of server computers, along with large numbers of networking components, software applications, and other types of resources.
Communications between network-based services and customer devices may be performed in a number of ways, including API (application programming interface) calls, remote function calls or other types of network based communications. However, security precautions may be desirable to prevent unauthorized devices from accessing the service or otherwise compromising the information communicated between the service and the customer devices.